package com.example.addemoone

import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.example.addemoone.fragment.DetailFragment
import com.example.addemoone.fragment.ListFragment

class MainActivity : AppCompatActivity(), ListFragment.OnItemSelectedListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_main)

        /**
         * 为 null 时，表示 Activity 是首次创建
         * 不为 null 时，表示 Activity 不是首次创建，即返回栈中存在该 Activity 实例
         */
        if (savedInstanceState == null) {
            // 初始加载 ListFragment
            // 开始一个新的 Fragment 事务，将 ListFragment 添加到 id 为 fragment_container 的容器中
            supportFragmentManager.beginTransaction()
                .add(R.id.fragment_container, ListFragment())   // 添加 ListFragment
                .commit()   // 提交事务
        }
    }

    override fun onItemSelected(itemId: Int) {
        // 创建详情Fragment实例
        val detailFragment = DetailFragment.newInstance(itemId)

        // 执行新的Fragment事务，替换当前容器中的Fragment，并添加到返回栈中以便返回到列表页
        supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, detailFragment)
            .addToBackStack(null)  // 参数为 null 表示不使用名称标识
            .commit()
    }
}